var memberList=new Array();
var columns = [
    {
        align : 'center',
        checkbox: true,
        visible: true,
        formatter: function (i,row) {            // 每次加载 checkbox 时判断当前 row 的 id 是否已经存在全局 array() 里
            if($.inArray(row.id,memberList)!=-1){    // 因为 Set是集合,需要先转换成数组
                return {
                    checked : true               // 存在则选中
                }
            }
        }
    },
    {
        field: 'id',
        title: '成员ID'
    },{
        field: 'loginName',
        title: '成员名称'
    },{
        field: 'sex',
        title: '性别'
    },{
        field: 'tel',
        title: '电话号码'
    }];
//角色配置页面初始化加载
var addNoticeMember={
    noticeOperationInit:function(){
        if(undefined != sessionStorage.getItem("memberList") && null !=sessionStorage.getItem("memberList") && "" !=sessionStorage.getItem("memberList")){
            memberList=JSON.parse(sessionStorage.getItem("memberList"));
            if(memberList[0]=="0"){
                memberList.splice(0,1);
            }
        }
        $('#addOrgTable').bootstrapTable({
            url:application.contextPath+'/notice/queryUserList',//调用url
            method: 'get',                     //发送请求类型
            cache: false,                      //是否使用缓存，默认为true
            // sortable: false,                //是否启用排序,默认true，设为false禁用所有的行排列（也就是每列表头不会显示排序的按钮，这个需要在th声明data-sortable=”true”，写在js中只是启不启用）
            clickToSelect: true,               //默认false不响应，设为true则当点击此行的某处时，会自动选中此行的checkbox（复选框）或radiobox（单选按钮）
            uniqueId: "id",                    //每一行的唯一标识，一般为主键列
            checkboxHeader: false,				//设置 false 将在列头隐藏全选复选框,默认true
            selectItemName: "id",				//radio 或者 checkbox 的字段 name 名
            pagination: true,					//设置是否分页
            sidePagination: "server",			//设置在哪里进行分页，可选值为 'client' 或者 'server'。设置 'server'时，必须设置服务器数据地址（url）或者重写ajax方法
            pageNumber: 1,						//如果设置了分页，首页页码。
            pageSize: 5,						//如果设置了分页，页面数据条数。
            pageList: [5,10],				   //如果设置了分页，设置可供选择的页面数据条数。设置为 All 或者 Unlimited，则显示所有记录。
            columns: columns,					//列配置项
            queryParams : function (params) {

                //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
                var temp = {
                    size: params.limit,                         //页面大小
                    page: (params.offset / params.limit) + 1   //页码
                };
                return temp;
            },
            onLoadSuccess: function(res){  //加载成功时执行
                if(!res.isSuccess){
                    layer.open({
                        title:"加载失败!",
                        content:'页面加载失败!'
                    });
                }else {
                    $("#addOrgTable").bootstrapTable("load",res.data)//加载成功时添加数据
                }
            },
            onLoadError: function(res){  //请求没有发送到后台时错误
                layer.open({
                    title:"加载失败!",
                    content:'请求加载失败!'
                });
            },
        }),
        $('#addOrgTable').on('uncheck.bs.table check.bs.table check-all.bs.table uncheck-all.bs.table',function(e,rows){
            var datas = $.isArray(rows) ? rows : [rows];        // 点击时获取选中的行或取消选中的行
            addNoticeMember.examine(e.type,datas);                                 // 保存到全局 array() 里
        });
    },

    examine:function(type,datas){
        if(type.indexOf('uncheck')==-1){
            $.each(datas,function(i,v){
                // 添加时，判断一行或多行的 id 是否已经在数组里 不存则添加　
                memberList.indexOf(v.id) == -1 ? memberList.push(v.id) : -1;
            });
        }else{
            $.each(datas,function(i,v){
                memberList.splice(memberList.indexOf(v.id),1);    //删除取消选中行
            });
        }
    },
    addMemberList:function () {
        var noticeId = $("#noticeId").val();
        sessionStorage.setItem("memberList",JSON.stringify(memberList));
        layer.close(layer.index);
    },

    queryUserByUserName:function () {
        var opt={
            url:application.contextPath+"/notice/queryUserByUserName",
            query:{size:5,page:1,sel:$("#sel").val()},
           silent:true
        }
        $('#addOrgTable').bootstrapTable('refresh',opt);
    }
};

$(document).ready(function(){
    addNoticeMember.noticeOperationInit();
});
